随着许多网站对此问题的重视,大多数留言板已经不再接受含有HTML语句的信息,网络似乎已经恢复了安全。但实际上我们的网络世界又被新出现的问题所困扰,在留言板系统缓慢发展的同时,几年来浏览器和服务器系统的技术有了变革式的发展,现在只有新手才会试图利用图片来搞乱留言板系统,而更多的人已经开始利用Java, Flash, IFRAME, ILAYER, cookies, JavaScript, VBScript等等等等一系列的新功能来对留言板进行一番狂轰滥炸,而且它们的破坏性更是简单的图片所无法能及的。
请设想一下,当你打开一个留言板系统,浏览器随之打开一个没有菜单或工具条的窗口,让你“享受”一番作者给你提供的Flash片断,或者是一段烦人的MIDI格式的情歌,或是WAV音乐片断,那将是多么恼人的经历。而且,也许经过数十秒钟的折磨,一条由JavaScript确认函数"confirm()"编写的对话框将出现在你的面前,询问你是否讨厌接受这种折磨。而当你迫不及待地点击了“是”来准备把自己的意见反馈给原作者,希望他能够停止折磨你以及众多其他网民时,你恰好着了原创作者的道,这时你的个人email信息已经由此传送给了那个阴险的家伙,以后你就会不断地遭到他对你骚扰,如果那个人更加毒辣的话,很可能还给通过电子邮件系统送给你一件小小的礼物——病毒,到时你的硬盘所有信息可能都会被删除。
至此,我想我已经把问题讲得很清楚了。 有件事需要说明的是实际上一些脚本在最初编写时并不会易受攻击,它们只是由于后来冗长的编码而变得脆弱不堪。我最近就曾经遇到过这样一件事,我发布了一套"mod_perl"应用编码,可接受表单输入来做为一个打开函数"open()"收取功能的部件。由于我需要对CGI脚本的安全系统进行转换,结果不注意把一部分防护代码删除掉了。幸运的是我在"mod_perl"应用代码中编写了一项功能,可以允许其它人查看本程序的原代码,这样一位好心的开发员发现了我的问题,并通过私人电子邮件给我提了醒。通过此事,我希望除非你对自己的代码有很大的把握,否则我还是奉劝你重新查看一下是否存在安全隐患。 但难道仅靠将HTML代码从留言板表单输入系统中去除掉就可以彻底解决这个问题吗?很不幸的是,由于各类浏览器均存在不同的问题,而且新开发出来的功能也带来更多的安全隐患,因此解决这个问题的最终方法远没有你想象的那样简单。
|